<HTML><HEAD><TITLE>library(ech)</TITLE></HEAD><BODY>
[ <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]<H1>library(ech)</H1>
Extended constraint handling rules library
<H2>Predicates</H2>
<BLOCKQUOTE>
<DL>
<DT><STRONG>appliedpos(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>cdeletethreshold(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>check_pairapplied(?, ?, ?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>check_pairapplied_direct(?, ?, ?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>check_pairapplied_directmarked(?, ?, ?, ?, ?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>check_samepairapplied(?, ?, ?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>check_samepairapplied_direct(?, ?, ?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>check_samepairapplied_directmarked(?, ?, ?, ?, ?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>chr(?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>chr(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>chr_get_constraint(?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>chr_get_constraint(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>chr_get_gconstraint(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>chr_get_vconstraint(?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>constraintnumpos(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><A HREF="constraints-1.html"><STRONG>constraints(+SpecList)</STRONG></A></DT>
<DD>Directive for declaring SpecList to be CHR constraints</DD>
<DT><STRONG>constraints(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>create_applied(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>find_partner(?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>get_constraint_list(?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>get_global_constraint(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>handler(?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>ignore_handler(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><A HREF="in_chrstore-1.html"><STRONG>in_chrstore(+CHRConst)</STRONG></A></DT>
<DD>Test if CHRConst is in the CHR constraint store or not</DD>
<DT><STRONG>in_chrstore(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>insert_pairapplied(?, ?, ?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>insert_samepairapplied(?, ?, ?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>is_in_store(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>kill_constraint(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>new_constraints(?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><A HREF="option-2.html"><STRONG>option(++Option, ++On_or_Off)</STRONG></A></DT>
<DD>Specify options for controlling ech compilation</DD>
<DT><STRONG>option(?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>record_chrprule(?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>record_chrrule(?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>record_namedrule(?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>suspend_constraint(?, ?, ?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>suspendindexpos(?, ?)</STRONG></DT>
<DD>No description available</DD>
<DT><STRONG>wrapperinpos(?, ?)</STRONG></DT>
<DD>No description available</DD>
</DL>
</BLOCKQUOTE>
<H2>Other Exports</H2>
<BLOCKQUOTE><DL>
<DT><STRONG>export op(1100, fy, handler)</STRONG></DT><DD></DD>
<DT><STRONG>export op(1000, fy, constraints)</STRONG></DT><DD></DD>
<DT><STRONG>export op(1190, xfx, [==>, <=>])</STRONG></DT><DD></DD>
<DT><STRONG>export op(1200, xfx, ::=)</STRONG></DT><DD></DD>
<DT><STRONG>export op(1100, xfx, |)</STRONG></DT><DD></DD>
<DT><STRONG>export op(1100, xfx, \)</STRONG></DT><DD></DD>
<DT><STRONG>export op(700, xfx, flag)</STRONG></DT><DD></DD>
<DT><STRONG>export macro(handler / 2, ignore_handler / 3, [clause])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(==> / 2, record_chrprule / 3, [clause])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(<=> / 2, record_chrrule / 3, [clause])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(::= / 2, record_namedrule / 3, [clause])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(constraints / 1, new_constraints / 3, [clause])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(constraint_in_wrapper_pos / 0, realconstraintpos / 2, [])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(suspendid_pos / 0, suspendindexpos / 2, [])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(constraintnum_pos / 0, constraintnumpos / 2, [])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(applied_pos / 0, appliedpos / 2, [])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(wrapper_inpos / 0, wrapperinpos / 2, [])</STRONG></DT><DD></DD>
<DT><STRONG>export macro(cdelete_threshold / 0, cdeletethreshold / 2, [])</STRONG></DT><DD></DD>
</DL></BLOCKQUOTE>
<H2>Description</H2>
   This library allows the user to write constraint handling rules (CHR) in 
   their ECLiPSe programs. CHR is a high-level language extension for writing
   user-defined constraints, allowing for rapid prototyping of constraints.
<P>
   This library provides some extensions over the older chr library: 
<UL>
    <LI> support for multi (>2) headed simplification and simpagation rules

    <LI> cleanup of semantics and syntax of CHRs

    <LI> faster execution

    <LI> more convenient compilation and mixing with ECLiPSe code
</UL>
   CHRs are compiled by source-to-source transformation into ECLiPSe code that
   make calls to many ech library predicates that implements the CHR 
   functionality. Thus, most exported predicates predicates  are not intended
   to be used by the user directly, and are not documented.

<HR>Generated from ech.eci on 2009-05-27 01:25
</BODY></HTML>
